Browse Source

用户头像上传,修改.

dev
0.0 2 years ago
parent
commit
1b3baa1e35
  1. 11
      src/api/manage.js
  2. 2
      src/components/jeecg/JImageUpload.vue
  3. 2
      src/components/tools/UserMenu.vue
  4. 4
      src/extends/FileMangement/fileMangement.vue
  5. 9
      src/mixins/JeecgListMixin.js
  6. 30
      src/views/activiti/form/ProcessMaterialBorrowingForm.vue
  7. 46
      src/views/activiti/form/ProcessMaterialWarehousingForm.vue
  8. 30
      src/views/activiti/form/ProcessMaterialsAllotForm.vue
  9. 30
      src/views/activiti/form/ProcessMaterialsDeliveryForm.vue
  10. 30
      src/views/activiti/form/ProcessMaterialsReturnForm.vue
  11. 22
      src/views/activiti/form/ProcessPermissionAuthorizationForm.vue
  12. 20
      src/views/activiti/form/ProcessSmaterialsScrapForm.vue
  13. 29
      src/views/activiti/form/ProcessSpecialMaterialsForm.vue
  14. 49
      src/views/activiti/form/ProcessUdgetPlanForm.vue
  15. 4
      src/views/system/UserList.vue
  16. 154
      src/views/system/modules/UserModal.vue

11
src/api/manage.js

@ -127,7 +127,8 @@ export function downFile(url,parameter){
* @param parameter * @param parameter
* @returns {*} * @returns {*}
*/ */
export function downloadFile(url, fileName, parameter) { export function
downloadFile(url, fileName, parameter) {
return downFile(url, parameter).then((data) => { return downFile(url, parameter).then((data) => {
if (!data || data.size === 0) { if (!data || data.size === 0) {
Vue.prototype['$message'].warning('文件下载失败') Vue.prototype['$message'].warning('文件下载失败')
@ -179,10 +180,10 @@ export function getFileAccessHttpUrl(avatar,subStr) {
if(avatar && avatar.startsWith(subStr)){ if(avatar && avatar.startsWith(subStr)){
return avatar; return avatar;
}else{ }else{
if (window._CONFIG['BASE_FileType']=="mongodb"){ // if (window._CONFIG['BASE_FileType']=="mongodb"){
const token = Vue.ls.get(ACCESS_TOKEN); // const token = Vue.ls.get(ACCESS_TOKEN);
return window._CONFIG['domianURL']+`/system/sysFile/opendownload?id=${avatar}&token=${token}` // return window._CONFIG['domianURL']+`/system/sysFile/opendownload?id=${avatar}&token=${token}`
} // }
if(avatar && avatar.length>0 && avatar.indexOf('[')==-1){ if(avatar && avatar.length>0 && avatar.indexOf('[')==-1){
return window._CONFIG['staticDomainURL'] + "/" + avatar; return window._CONFIG['staticDomainURL'] + "/" + avatar;
} }

2
src/components/jeecg/JImageUpload.vue

@ -48,7 +48,7 @@
name: 'JImageUpload', name: 'JImageUpload',
data(){ data(){
return { return {
uploadAction:window._CONFIG['domianURL']+"/sys/common/upload", uploadAction:window._CONFIG['domianURL']+"/sys/upload/uploadMinio",
uploadLoading:false, uploadLoading:false,
picUrl:false, picUrl:false,
headers:{}, headers:{},

2
src/components/tools/UserMenu.vue

@ -100,7 +100,7 @@
import { mixinDevice } from '@/utils/mixin.js' import { mixinDevice } from '@/utils/mixin.js'
import { getFileAccessHttpUrl,getAction } from "@/api/manage" import { getFileAccessHttpUrl,getAction } from "@/api/manage"
import Vue from 'vue' import Vue from 'vue'
import { UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types" import { UI_CACHE_DB_DICT_DATA, USER_INFO } from '@/store/mutation-types'
export default { export default {
name: "UserMenu", name: "UserMenu",

4
src/extends/FileMangement/fileMangement.vue

@ -23,7 +23,7 @@
</template> </template>
<script> <script>
import {downloadFile, getAction, postAction} from '@/api/manage'; import { downloadFile, getAction, getFileAccessHttpUrl, postAction } from '@/api/manage'
export default { export default {
props: { props: {
uuId:{ uuId:{
@ -57,7 +57,7 @@
return { return {
fileList:[], fileList:[],
url: { url: {
queryByBusinessId:"/system/sysFile/queryByBusinessId", queryByBusinessId:"/sys/common/static",
} }
} }
}, },

9
src/mixins/JeecgListMixin.js

@ -338,10 +338,15 @@ export const JeecgListMixin = {
}, },
/* 图片预览 */ /* 图片预览 */
getImgView(text){ getImgView(text){
if(text && text.indexOf(",")>0){ if(!text){
this.$message.warning("未知的文件")
return;
}
if(text.indexOf(",")>0){
text = text.substring(0,text.indexOf(",")) text = text.substring(0,text.indexOf(","))
} }
return getFileAccessHttpUrl(text) let url = getFileAccessHttpUrl(text)
return window._CONFIG['domianURL']+('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(this.$Base64.encode(url)));
}, },
/* 文件下载 */ /* 文件下载 */
// update--autor:lvdandan-----date:20200630------for:修改下载文件方法名uploadFile改为downloadFile------ // update--autor:lvdandan-----date:20200630------for:修改下载文件方法名uploadFile改为downloadFile------

30
src/views/activiti/form/ProcessMaterialBorrowingForm.vue

@ -31,12 +31,12 @@
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag type="list" v-decorator="['materialType']" :trigger-change="true" dictCode="material_type" placeholder="请选择物资类型" /> <j-dict-select-tag type="list" v-decorator="['materialType',validatorRules.materialType]" :trigger-change="true" dictCode="material_type" placeholder="请选择物资类型" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="被借用部门" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="被借用部门" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-select-depart v-decorator="['borrowedDepartments']" multi /> <j-select-depart v-decorator="['borrowedDepartments',validatorRules.borrowedDepartments]" multi />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
@ -120,8 +120,6 @@
}, },
// //
addDefaultRowNum: 1, addDefaultRowNum: 1,
validatorRules: {
},
refKeys: ['processMaterialBorrowingList', ], refKeys: ['processMaterialBorrowingList', ],
tableKeys:['processMaterialBorrowingList', ], tableKeys:['processMaterialBorrowingList', ],
activeKey: 'processMaterialBorrowingList', activeKey: 'processMaterialBorrowingList',
@ -234,7 +232,13 @@
list: '/hy/processMaterialBorrowing/queryProcessMaterialBorrowingListByMainId' list: '/hy/processMaterialBorrowing/queryProcessMaterialBorrowingListByMainId'
}, },
}, },
btndisabled: false btndisabled: false,
validatorRules: {
// 'blur'
materialType: {rules: [{ required: true, message: '请选择物资类型!' }]},
borrowedDepartments: {rules:[{ required: true, message: '被借用部门不能为空!' }]},
processPlan: {rules:[ { required: true, message: '请选择流程计划!'}]}
},
} }
}, },
props: { props: {
@ -398,14 +402,14 @@
throw this.throwNotFunction('classifyIntoFormData') throw this.throwNotFunction('classifyIntoFormData')
} }
let formData = this.classifyIntoFormData(allValues) let formData = this.classifyIntoFormData(allValues)
if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){ // if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){
this.$message.error("物资类型不能为空") // this.$message.error("")
return; // return;
} // }
if (formData.borrowedDepartments === null || formData.borrowedDepartments ==='' || formData.borrowedDepartments === undefined){ // if (formData.borrowedDepartments === null || formData.borrowedDepartments ==='' || formData.borrowedDepartments === undefined){
this.$message.error("被借用部门不能为空") // this.$message.error("")
return; // return;
} // }
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {
formData.procDefId = this.processData.id; formData.procDefId = this.processData.id;

46
src/views/activiti/form/ProcessMaterialWarehousingForm.vue

@ -27,7 +27,7 @@
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="关联预算流程" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="关联预算流程" :labelCol="labelCol" :wrapperCol="wrapperCol">
<!-- <a-input v-decorator="['processUdgetPlanId']" placeholder="请输入关联预算流程" ></a-input>--> <!-- <a-input v-decorator="['processUdgetPlanId']" placeholder="请输入关联预算流程" ></a-input>-->
<h-plan v-decorator="['processUdgetPlanId']" :trigger-change="true" code="demo" field="name" orgFields="name" @mounted="getPlanList" destFields="name" :multi="true"/> <h-plan v-decorator="['processUdgetPlanId',validatorRules.processUdgetPlanId]" :trigger-change="true" code="demo" field="name" orgFields="name" @mounted="getPlanList" destFields="name" :multi="true"/>
<!-- <j-popup--> <!-- <j-popup-->
<!-- v-decorator="['one']"--> <!-- v-decorator="['one']"-->
<!-- :trigger-change="true"--> <!-- :trigger-change="true"-->
@ -45,12 +45,12 @@
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="入库目标库" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="入库目标库" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input-number v-decorator="['targetLibrary']" placeholder="请输入入库目标库" style="width: 100%" /> <a-input-number v-decorator="['targetLibrary',validatorRules.targetLibrary]" placeholder="请输入入库目标库" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="入库总批次" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="入库总批次" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input-number v-decorator="['warehousingBatch']" placeholder="请输入入库总批次" style="width: 100%" /> <a-input-number v-decorator="['warehousingBatch',validatorRules.warehousingBatch]" placeholder="请输入入库总批次" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
@ -136,8 +136,6 @@ import JSelectCompany from '../../../components/jeecgbiz/JSelectCompany'
addDefaultRowNum: 1, addDefaultRowNum: 1,
selectedMainId:'', selectedMainId:'',
processUdgetPlanId:'', processUdgetPlanId:'',
validatorRules: {
},
refKeys: ['processMaterialWarehousingList', ], refKeys: ['processMaterialWarehousingList', ],
tableKeys:['processMaterialWarehousingList', ], tableKeys:['processMaterialWarehousingList', ],
activeKey: 'processMaterialWarehousingList', activeKey: 'processMaterialWarehousingList',
@ -329,6 +327,12 @@ import JSelectCompany from '../../../components/jeecgbiz/JSelectCompany'
}, },
}, },
btndisabled: false, btndisabled: false,
validatorRules: {
// 'blur'
processUdgetPlanId: {rules: [{ required: true, message: '关联预算流程不能为空!' }]},
targetLibrary: {rules:[{ required: true, message: '入库目标库不能为空!' }]},
warehousingBatch: {rules:[ { required: true, message: '入库总批次不能为空!'}]}
},
} }
}, },
props: { props: {
@ -435,22 +439,22 @@ import JSelectCompany from '../../../components/jeecgbiz/JSelectCompany'
} }
let formData = this.classifyIntoFormData(allValues) let formData = this.classifyIntoFormData(allValues)
formData.processUdgetPlanId=this.processUdgetPlanId formData.processUdgetPlanId=this.processUdgetPlanId
if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){ // if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){
this.$message.error("物资类型不能为空") // this.$message.error("")
return; // return;
} // }
if (formData.targetLibrary === null || formData.targetLibrary ==='' || formData.targetLibrary === undefined){ // if (formData.targetLibrary === null || formData.targetLibrary ==='' || formData.targetLibrary === undefined){
this.$message.error("入库目标库不能为空") // this.$message.error("")
return; // return;
} // }
if (formData.processUdgetPlanId === null || formData.processUdgetPlanId ==='' || formData.processUdgetPlanId === undefined){ // if (formData.processUdgetPlanId === null || formData.processUdgetPlanId ==='' || formData.processUdgetPlanId === undefined){
this.$message.error("关联预算流程不能为空") // this.$message.error("")
return; // return;
} // }
if (formData.warehousingBatch === null || formData.warehousingBatch ==='' || formData.warehousingBatch === undefined){ // if (formData.warehousingBatch === null || formData.warehousingBatch ==='' || formData.warehousingBatch === undefined){
this.$message.error("入库总批次不能为空") // this.$message.error("")
return; // return;
} // }
console.log('格式化后的数据',formData) console.log('格式化后的数据',formData)
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {

30
src/views/activiti/form/ProcessMaterialsAllotForm.vue

@ -31,12 +31,12 @@
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag type="list" v-decorator="['materialType']" :trigger-change="true" dictCode="material_type" placeholder="请选择物资类型" /> <j-dict-select-tag type="list" v-decorator="['materialType',validatorRules.materialType]" :trigger-change="true" dictCode="material_type" placeholder="请选择物资类型" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="被调拨部门" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="被调拨部门" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-select-depart v-decorator="['beAllotDepartment']" multi /> <j-select-depart v-decorator="['beAllotDepartment',validatorRules.beAllotDepartment]" multi />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8 <a-col :span="8
@ -121,8 +121,6 @@
}, },
// //
addDefaultRowNum: 1, addDefaultRowNum: 1,
validatorRules: {
},
refKeys: ['processMaterialsAllotList', ], refKeys: ['processMaterialsAllotList', ],
tableKeys:['processMaterialsAllotList', ], tableKeys:['processMaterialsAllotList', ],
activeKey: 'processMaterialsAllotList', activeKey: 'processMaterialsAllotList',
@ -236,7 +234,13 @@
list: '/hy/processMaterialsAllot/queryProcessMaterialsAllotListByMainId' list: '/hy/processMaterialsAllot/queryProcessMaterialsAllotListByMainId'
}, },
}, },
btndisabled: false btndisabled: false,
validatorRules: {
// 'blur'
materialType: {rules: [{ required: true, message: '请选择物资类型!' }]},
beAllotDepartment: {rules:[{ required: true, message: '被调拨部门不能为空!' }]},
processPlan: {rules:[ { required: true, message: '请选择流程计划!'}]}
},
} }
}, },
props: { props: {
@ -343,14 +347,14 @@
} }
let formData = this.classifyIntoFormData(allValues) let formData = this.classifyIntoFormData(allValues)
if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){ // if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){
this.$message.error("物资类型不能为空") // this.$message.error("")
return; // return;
} // }
if (formData.beAllotDepartment === null || formData.beAllotDepartment ==='' || formData.beAllotDepartment === undefined){ // if (formData.beAllotDepartment === null || formData.beAllotDepartment ==='' || formData.beAllotDepartment === undefined){
this.$message.error("被调拨部门不能为空") // this.$message.error("")
return; // return;
} // }
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {
formData.procDefId = this.processData.id; formData.procDefId = this.processData.id;

30
src/views/activiti/form/ProcessMaterialsDeliveryForm.vue

@ -31,12 +31,12 @@
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag type="list" v-decorator="['materialType']" :trigger-change="true" dictCode="material_type" placeholder="请选择物资类型" /> <j-dict-select-tag type="list" v-decorator="['materialType',validatorRules.materialType]" :trigger-change="true" dictCode="material_type" placeholder="请选择物资类型" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="出库时间" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="出库时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-date placeholder="请选择出库时间" v-decorator="['deliveryTime']" :trigger-change="true" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> <j-date placeholder="请选择出库时间" v-decorator="['deliveryTime',validatorRules.deliveryTime]" :trigger-change="true" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
@ -121,8 +121,6 @@ import JSelectCompany from '../../../components/jeecgbiz/JSelectCompany'
}, },
// //
addDefaultRowNum: 1, addDefaultRowNum: 1,
validatorRules: {
},
refKeys: ['processMaterialsDeliveryList', ], refKeys: ['processMaterialsDeliveryList', ],
tableKeys:['processMaterialsDeliveryList', ], tableKeys:['processMaterialsDeliveryList', ],
activeKey: 'processMaterialsDeliveryList', activeKey: 'processMaterialsDeliveryList',
@ -243,7 +241,13 @@ import JSelectCompany from '../../../components/jeecgbiz/JSelectCompany'
list: '/hy/processMaterialsDelivery/queryProcessMaterialsDeliveryListByMainId' list: '/hy/processMaterialsDelivery/queryProcessMaterialsDeliveryListByMainId'
}, },
}, },
btndisabled: false btndisabled: false,
validatorRules: {
// 'blur'
materialType: {rules: [{ required: true, message: '请选择物资类型!' }]},
deliveryTime: {rules:[{ required: true, message: '请选择出库时间!' }]},
processPlan: {rules:[ { required: true, message: '请选择流程计划!'}]}
},
} }
}, },
props: { props: {
@ -353,14 +357,14 @@ import JSelectCompany from '../../../components/jeecgbiz/JSelectCompany'
this.$message.error("出库时间不能小于当前流程发起时间") this.$message.error("出库时间不能小于当前流程发起时间")
return; return;
} }
if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){ // if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){
this.$message.error("物资类型不能为空") // this.$message.error("")
return; // return;
} // }
if (formData.deliveryTime === null || formData.deliveryTime ==='' || formData.deliveryTime === undefined){ // if (formData.deliveryTime === null || formData.deliveryTime ==='' || formData.deliveryTime === undefined){
this.$message.error("出库时间不能为空") // this.$message.error("")
return; // return;
} // }
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {

30
src/views/activiti/form/ProcessMaterialsReturnForm.vue

@ -31,12 +31,12 @@
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag type="list" v-decorator="['materialType']" :trigger-change="true" dictCode="material_type" placeholder="请选择物资类型" /> <j-dict-select-tag type="list" v-decorator="['materialType',validatorRules.materialType]" :trigger-change="true" dictCode="material_type" placeholder="请选择物资类型" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="关联借用流程" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="关联借用流程" :labelCol="labelCol" :wrapperCol="wrapperCol">
<h-borrowing v-decorator="['processBorrowId']" code="demo" field="name" orgFields="name" destFields="name" :multi="true"/> <h-borrowing v-decorator="['processBorrowId',validatorRules.processBorrowId]" code="demo" field="name" orgFields="name" destFields="name" :multi="true"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
@ -121,8 +121,6 @@
}, },
// //
addDefaultRowNum: 1, addDefaultRowNum: 1,
validatorRules: {
},
refKeys: ['processMaterialsReturnList', ], refKeys: ['processMaterialsReturnList', ],
tableKeys:['processMaterialsReturnList', ], tableKeys:['processMaterialsReturnList', ],
activeKey: 'processMaterialsReturnList', activeKey: 'processMaterialsReturnList',
@ -236,7 +234,13 @@
list: '/hy/processMaterialsReturn/queryProcessMaterialsReturnListByMainId' list: '/hy/processMaterialsReturn/queryProcessMaterialsReturnListByMainId'
}, },
}, },
btndisabled: false btndisabled: false,
validatorRules: {
// 'blur'
materialType: {rules: [{ required: true, message: '请选择物资类型!' }]},
processBorrowId: {rules:[{ required: true, message: '关联借用流程不能为空!' }]},
processPlan: {rules:[ { required: true, message: '请选择流程计划!'}]}
},
} }
}, },
props: { props: {
@ -342,14 +346,14 @@
throw this.throwNotFunction('classifyIntoFormData') throw this.throwNotFunction('classifyIntoFormData')
} }
let formData = this.classifyIntoFormData(allValues) let formData = this.classifyIntoFormData(allValues)
if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){ // if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){
this.$message.error("物资类型不能为空") // this.$message.error("")
return; // return;
} // }
if (formData.processBorrowId === null || formData.processBorrowId ==='' || formData.processBorrowId === undefined){ // if (formData.processBorrowId === null || formData.processBorrowId ==='' || formData.processBorrowId === undefined){
this.$message.error("关联借用流程不能为空") // this.$message.error("")
return; // return;
} // }
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {

22
src/views/activiti/form/ProcessPermissionAuthorizationForm.vue

@ -30,17 +30,17 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="被授权人" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="被授权人" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-select-user-by-dep v-decorator="['authorizedPerson']" /> <j-select-user-by-dep v-decorator="['authorizedPerson',validatorRules.authorizedPerson]" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="授权时间(开启时间)" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="授权时间(开启时间)" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-date placeholder="请选择授权时间(开启时间)" v-decorator="['privilegedTimeStart']" :trigger-change="true" style="width: 100%" /> <j-date placeholder="请选择授权时间(开启时间)" v-decorator="['privilegedTimeStart',validatorRules.privilegedTimeStart]" :trigger-change="true" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="授权时间(结束时间)" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="授权时间(结束时间)" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-date placeholder="请选择授权时间(结束时间)" v-decorator="['privilegedTimeEnd']" :trigger-change="true" style="width: 100%" /> <j-date placeholder="请选择授权时间(结束时间)" v-decorator="['privilegedTimeEnd',validatorRules.privilegedTimeEnd]" :trigger-change="true" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
@ -50,12 +50,12 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="授权时间(确认时间)" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="授权时间(确认时间)" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input v-decorator="['privilegedAffirmedTime']" placeholder="请输入授权时间(确认时间)" ></a-input> <a-input v-decorator="['privilegedAffirmedTime',validatorRules.privilegedAffirmedTime]" placeholder="请输入授权时间(确认时间)" ></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="授权天数" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="授权天数" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input-number v-decorator="['authorizationNumberDays']" placeholder="请输入授权天数" style="width: 100%" /> <a-input-number v-decorator="['authorizationNumberDays',validatorRules.authorizationNumberDays]" placeholder="请输入授权天数" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
@ -148,15 +148,21 @@
sm: { span: 16 }, sm: { span: 16 },
}, },
confirmLoading: false, confirmLoading: false,
validatorRules: {
},
url: { url: {
getForm:'/actBusiness/getForm', getForm:'/actBusiness/getForm',
add: "/processpermissionauthorization/processPermissionAuthorization/add", add: "/processpermissionauthorization/processPermissionAuthorization/add",
edit: "/processpermissionauthorization/processPermissionAuthorization/edit", edit: "/processpermissionauthorization/processPermissionAuthorization/edit",
queryById: "/processpermissionauthorization/processPermissionAuthorization/queryById" queryById: "/processpermissionauthorization/processPermissionAuthorization/queryById"
}, },
btndisabled: false btndisabled: false,
validatorRules: {
// 'blur'
authorizedPerson: {rules: [{ required: true, message: '被授权人不能为空!' }]},
privilegedTimeStart: {rules:[{ required: true, message: '开启时间不能为空!' }]},
privilegedTimeEnd: {rules:[ { required: true, message: '结束时间不能为空!'}]},
privilegedAffirmedTime: {rules:[ { required: true, message: '授权时间不能为空!'}]},
authorizationNumberDays: {rules:[ { required: true, message: '授权天数不能为空!'}]},
},
} }
}, },
computed: { computed: {

20
src/views/activiti/form/ProcessSmaterialsScrapForm.vue

@ -31,7 +31,7 @@
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag type="list" v-decorator="['materialType']" :trigger-change="true" dictCode="material_type" placeholder="请选择物资类型" /> <j-dict-select-tag type="list" v-decorator="['materialType',validatorRules.materialType]" :trigger-change="true" dictCode="material_type" placeholder="请选择物资类型" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
@ -124,8 +124,6 @@
// //
addDefaultRowNum: 1, addDefaultRowNum: 1,
processOutflowId:'', processOutflowId:'',
validatorRules: {
},
refKeys: ['processSmaterialsScrapList', ], refKeys: ['processSmaterialsScrapList', ],
tableKeys:['processSmaterialsScrapList', ], tableKeys:['processSmaterialsScrapList', ],
activeKey: 'processSmaterialsScrapList', activeKey: 'processSmaterialsScrapList',
@ -238,7 +236,13 @@
list: '/hy/processSmaterialsScrap/queryProcessSmaterialsScrapListByMainId' list: '/hy/processSmaterialsScrap/queryProcessSmaterialsScrapListByMainId'
}, },
}, },
btndisabled: false btndisabled: false,
validatorRules: {
// 'blur'
materialType: {rules: [{ required: true, message: '请选择物资类型!' }]},
processReturnId: {rules:[{ required: true, message: '关联归还流程不能为空!' }]},
processPlan: {rules:[ { required: true, message: '请选择流程计划!'}]}
},
} }
}, },
props: { props: {
@ -342,10 +346,10 @@
} }
let formData = this.classifyIntoFormData(allValues) let formData = this.classifyIntoFormData(allValues)
formData.processOutflowId=this.processOutflowId; formData.processOutflowId=this.processOutflowId;
if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){ // if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){
this.$message.error("物资类型不能为空") // this.$message.error("")
return; // return;
} // }
if (formData.processOutflowId === null || formData.processOutflowId ==='' || formData.processOutflowId === undefined){ if (formData.processOutflowId === null || formData.processOutflowId ==='' || formData.processOutflowId === undefined){
this.$message.error("关联的出库流程不能为空") this.$message.error("关联的出库流程不能为空")
return; return;

29
src/views/activiti/form/ProcessSpecialMaterialsForm.vue

@ -36,7 +36,7 @@
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
<a-form-item label="关联归还流程" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="关联归还流程" :labelCol="labelCol" :wrapperCol="wrapperCol">
<h-return v-decorator="['processReturnId']" code="demo" field="name" orgFields="name" destFields="name" :multi="true"/> <h-return v-decorator="['processReturnId',validatorRules.processReturnId]" code="demo" field="name" orgFields="name" destFields="name" :multi="true"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8" > <a-col :span="8" >
@ -123,8 +123,6 @@
}, },
// //
addDefaultRowNum: 1, addDefaultRowNum: 1,
validatorRules: {
},
refKeys: ['processSpecialMaterialsList', ], refKeys: ['processSpecialMaterialsList', ],
tableKeys:['processSpecialMaterialsList', ], tableKeys:['processSpecialMaterialsList', ],
activeKey: 'processSpecialMaterialsList', activeKey: 'processSpecialMaterialsList',
@ -229,7 +227,14 @@
list: '/hy/processSpecialMaterials/queryProcessSpecialMaterialsListByMainId' list: '/hy/processSpecialMaterials/queryProcessSpecialMaterialsListByMainId'
}, },
}, },
btndisabled: false btndisabled: false,
//
validatorRules: {
// 'blur'
materialType: {rules: [{ required: true, message: '请选择物资类型!' }]},
processReturnId: {rules:[{ required: true, message: '关联归还流程不能为空!' }]},
processPlan: {rules:[ { required: true, message: '请选择流程计划!'}]}
},
} }
}, },
props: { props: {
@ -336,14 +341,14 @@
} }
let formData = this.classifyIntoFormData(allValues) let formData = this.classifyIntoFormData(allValues)
if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){ // if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){
this.$message.error("物资类型不能为空") // this.$message.error("")
return; // return;
} // }
if (formData.processReturnId === null || formData.processReturnId ==='' || formData.processReturnId === undefined){ // if (formData.processReturnId === null || formData.processReturnId ==='' || formData.processReturnId === undefined){
this.$message.error("关联的归还流程不能为空") // this.$message.error("")
return; // return;
} // }
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {
formData.procDefId = this.processData.id; formData.procDefId = this.processData.id;

49
src/views/activiti/form/ProcessUdgetPlanForm.vue

@ -33,26 +33,26 @@
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="物资类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag type="list" v-decorator="['materialType']" :trigger-change="true" dictCode="material_type" <j-dict-select-tag type="list" v-decorator="['materialType',validatorRules.materialType]" :trigger-change="true" dictCode="material_type"
placeholder="请选择物资类型"/> placeholder="请选择物资类型"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="流程计划" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="流程计划" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag type="list" v-decorator="['processPlan']" :trigger-change="true" dictCode="process_plan" <j-dict-select-tag type="list" v-decorator="['processPlan',validatorRules.processPlan]" :trigger-change="true" dictCode="process_plan"
placeholder="请选择流程计划"/> placeholder="请选择流程计划"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="需求时间" :labelCol="labelCol" :wrapperCol="wrapperCol" > <a-form-item label="需求时间" :labelCol="labelCol" :wrapperCol="wrapperCol" >
<j-date placeholder="请选择需求时间" v-decorator="['needTime']" :trigger-change="true" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"/> <j-date placeholder="请选择需求时间" v-decorator="['needTime',validatorRules.needTime]" :trigger-change="true" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"/>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="顺序号" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input-number v-decorator="['orderNumber']" placeholder="请输入顺序号" style="width: 100%"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<!-- <a-col :span="8">-->
<!-- <a-form-item label="顺序号" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <a-input-number v-decorator="['orderNumber']" placeholder="请输入顺序号" style="width: 100%"/>-->
<!-- </a-form-item>-->
<!-- </a-col>-->
<a-col :span="8"> <a-col :span="8">
<a-form-item label="文件" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="文件" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-upload v-decorator="['fileId']" :trigger-change="true"></j-upload> <j-upload v-decorator="['fileId']" :trigger-change="true"></j-upload>
@ -139,7 +139,6 @@
}, },
// //
addDefaultRowNum: 1, addDefaultRowNum: 1,
validatorRules: {},
refKeys: ['processUdgetPlanMaterial'], refKeys: ['processUdgetPlanMaterial'],
tableKeys: ['processUdgetPlanMaterial'], tableKeys: ['processUdgetPlanMaterial'],
activeKey: 'processUdgetPlanMaterial', activeKey: 'processUdgetPlanMaterial',
@ -332,11 +331,11 @@
}, },
btndisabled: false, btndisabled: false,
// //
rules: { validatorRules: {
// 'blur' // 'blur'
materialType: [ { required: true, message: '请输入标题名称' ,trigger: 'blur'}], materialType: {rules: [{ required: true, message: '请选择物资类型!' }]},
needTime: [ { required: true, message: '请输入内容' ,trigger: 'blur'}], needTime: {rules:[{ required: true, message: '请选择需求时间!' }]},
processPlan: [ { required: true, message: '请选择协议类型', trigger: 'blur' }] processPlan: {rules:[ { required: true, message: '请选择流程计划!'}]}
}, },
} }
}, },
@ -651,18 +650,18 @@
this.$message.error("需求时间不能小于当前流程发起时间") this.$message.error("需求时间不能小于当前流程发起时间")
return; return;
} }
if (formData.needTime === null || formData.needTime ==='' || formData.needTime === undefined){ // if (formData.needTime === null || formData.needTime ==='' || formData.needTime === undefined){
this.$message.error("需求时间不能为空") // this.$message.error("")
return; // return;
} // }
if (formData.processPlan === null || formData.processPlan ==='' || formData.processPlan === undefined){ // if (formData.processPlan === null || formData.processPlan ==='' || formData.processPlan === undefined){
this.$message.error("流程计划不能为空") // this.$message.error("")
return; // return;
} // }
if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){ // if (formData.materialType === null || formData.materialType ==='' || formData.materialType === undefined){
this.$message.error("物资类型不能为空") // this.$message.error("")
return; // return;
} // }
this.form.validateFields((err, values) => { this.form.validateFields((err, values) => {
if (!err) { if (!err) {
formData.procDefId = this.processData.id; formData.procDefId = this.processData.id;

4
src/views/system/UserList.vue

@ -91,7 +91,7 @@
<a-icon type="down"/> <a-icon type="down"/>
</a-button> </a-button>
</a-dropdown> </a-dropdown>
<j-super-query :fieldList="superQueryFieldList" @handleSuperQuery="handleSuperQuery"/> <!-- <j-super-query :fieldList="superQueryFieldList" @handleSuperQuery="handleSuperQuery"/>-->
</div> </div>
<!-- table区域-begin --> <!-- table区域-begin -->
@ -373,5 +373,5 @@
} }
</script> </script>
<style scoped> <style scoped>
@import '~@assets/less/common.less' @import '~@assets/less/common.less';
</style> </style>

154
src/views/system/modules/UserModal.vue

@ -97,6 +97,22 @@
<a-radio value="1">普通用户</a-radio> <a-radio value="1">普通用户</a-radio>
<a-radio value="2">上级</a-radio> <a-radio value="2">上级</a-radio>
</a-radio-group> </a-radio-group>
<a-upload
listType="picture-card"
class="avatar-uploader"
:showUploadList="false"
:action="uploadAction"
:data="{'isup':1}"
:headers="headers"
:beforeUpload="beforeUpload"
@change="handleChange"
>
<img v-if="picUrl" :src="getAvatarView()" alt="头像" style="height:140px;max-width:180px;border-radius:50%"/>
<div v-else style="height:140px;width:140px;padding-top:35%">
<a-icon :type="uploadLoading ? 'loading' : 'plus'" />
<div class="ant-upload-text" style="color: dimgray">上传头像</div>
</div>
</a-upload>
</a-form-item> </a-form-item>
<a-form-item label="负责部门" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="departIdShow==true"> <a-form-item label="负责部门" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="departIdShow==true">
<a-select <a-select
@ -114,25 +130,27 @@
</a-select> </a-select>
</a-form-item> </a-form-item>
<!-- update--end--autor:wangshuai-----date:20200108------for新增身份和负责部门------ --> <!-- update--end--autor:wangshuai-----date:20200108------for新增身份和负责部门------ -->
<a-form-item label="头像" :labelCol="labelCol" :wrapperCol="wrapperCol"> <!-- <a-form-item label="头像" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<template v-if="BASE_FileType=='mongodb'"> <!-- <template v-if="BASE_FileType=='mongodb'">-->
<a-radio-group name="radioGroup" v-model="userHead" v-if="userHead"> <!-- <a-radio-group name="radioGroup" v-model="userHead" v-if="userHead">-->
<a-radio v-for="item in userHeads" :value="item.id"> <!-- <a-radio v-for="item in userHeads" :value="item.id">-->
<a-avatar :title="item.fileName" :alt="item.fileName" :src="getHeadsHttpUrl(item.id)" shape="square" :size="64" icon="user" /> <!-- <a-avatar :title="item.fileName" :alt="item.fileName" :src="getHeadsHttpUrl(item.id)" shape="square" :size="64" icon="user" />-->
</a-radio> <!-- </a-radio>-->
</a-radio-group> <!-- </a-radio-group>-->
<a-alert message="可上传多个图片并选择一个候选头像,需要提交保存生效!" banner /> <!-- <a-alert message="可上传多个图片并选择一个候选头像,需要提交保存生效!" banner />-->
<file-mangement style="margin-top: 10px" <!-- <file-mangement style="margin-top: 10px"-->
:uuId="username" <!-- :uuId="username"-->
:fileType="'img'" <!-- :fileType="'img'"-->
:moduleCode="'头像'" <!-- :moduleCode="'头像'"-->
:isMultiple="true" <!-- :isMultiple="true"-->
@afterIntFiles="afterIntFiles" <!-- @afterIntFiles="afterIntFiles"-->
@changeFile="afterIntFiles" <!-- @changeFile="afterIntFiles"-->
></file-mangement> <!-- ></file-mangement>-->
</template> <!-- </template>-->
<j-image-upload v-if="BASE_FileType!='mongodb'" class="avatar-uploader" text="上传" v-model="fileList" ></j-image-upload> <!-- <j-image-upload v-if="BASE_FileType!='mongodb'" class="avatar-uploader" text="上传" v-model="fileList" ></j-image-upload>-->
</a-form-item> <!-- </a-form-item>-->
<a-form-item label="生日" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="生日" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-date-picker <a-date-picker
@ -193,6 +211,7 @@
import JImageUpload from '../../../components/jeecg/JImageUpload' import JImageUpload from '../../../components/jeecg/JImageUpload'
import FileMangement from "@/extends/FileMangement/fileMangement"; import FileMangement from "@/extends/FileMangement/fileMangement";
export default { export default {
name: "UserModal", name: "UserModal",
components: { components: {
@ -217,6 +236,7 @@
userId:"", //id userId:"", //id
username:"", username:"",
userHeads:[], userHeads:[],
imgList:[],
userHead:'', userHead:'',
disableSubmit:false, disableSubmit:false,
userDepartModel:{userId:'',departIdList:[]}, // SysUserDepart userDepartModel:{userId:'',departIdList:[]}, // SysUserDepart
@ -287,11 +307,12 @@
form:this.$form.createForm(this), form:this.$form.createForm(this),
picUrl: "", picUrl: "",
url: { url: {
fileUpload: window._CONFIG['domianURL']+"/sys/common/upload", fileUpload: window._CONFIG['domianURL']+"/sys/upload/uploadMinio",
userWithDepart: "/sys/user/userDepartList", // url userWithDepart: "/sys/user/userDepartList", // url
userId:"/sys/user/generateUserId", // url userId:"/sys/user/generateUserId", // url
syncUserByUserName:"/act/process/extActProcess/doSyncUserByUserName",// syncUserByUserName:"/act/process/extActProcess/doSyncUserByUserName",//
queryTenantList: '/sys/tenant/queryList' queryTenantList: '/sys/tenant/queryList',
imgerver: window._CONFIG['domianURL']+"/sys/common/static/",
}, },
identity:"1", identity:"1",
fileList:[], fileList:[],
@ -312,6 +333,38 @@
} }
}, },
methods: { methods: {
beforeUpload: function(file){
var fileType = file.type;
if(fileType.indexOf('image')<0){
this.$message.warning('请上传图片');
return false;
}
//TODO
},
handleChange (info) {
this.picUrl = "";
if (info.file.status === 'uploading') {
this.uploadLoading = true;
return
}
this.model.img=null
if (info.file.status === 'done') {
var response = info.file.response;
this.uploadLoading = false;
console.log(response);
if(response.success){
this.model.img= response.message;
this.picUrl = "Has no pic url yet";
}else{
this.$message.warning(response.message);
}
}
},
getAvatarView(){
this.fileList = this.model.img;
return this.model.img;
},
isDisabledAuth(code){ isDisabledAuth(code){
return disabledAuthFilter(code); return disabledAuthFilter(code);
}, },
@ -366,6 +419,7 @@
this.edit({activitiSync:'1'}); this.edit({activitiSync:'1'});
}, },
edit (record) { edit (record) {
this.imgList=[];
this.resetScreenSize(); // , this.resetScreenSize(); // ,
let that = this; let that = this;
that.initialRoleList(); that.initialRoleList();
@ -384,6 +438,12 @@
that.$nextTick(() => { that.$nextTick(() => {
that.form.setFieldsValue(pick(this.model,'username','sex','realname','email','phone','activitiSync','workNo','telephone','post')) that.form.setFieldsValue(pick(this.model,'username','sex','realname','email','phone','activitiSync','workNo','telephone','post'))
}); });
this.picUrl = record.avatar;//,model
this.model.img = record.avatar;
console.log("图片路径>>>>>>>>>",record.avatar)
console.log("图片路径>>>>>>>>>",this.picUrl)
let obj ={}
obj.url= record.avatar;
// //
if(this.model.userIdentity=="2"){ if(this.model.userIdentity=="2"){
this.identity="2"; this.identity="2";
@ -627,32 +687,32 @@
} }
return e && e.fileList return e && e.fileList
}, },
beforeUpload: function(file){ // beforeUpload: function(file){
var fileType = file.type; // var fileType = file.type;
if(fileType.indexOf('image')<0){ // if(fileType.indexOf('image')<0){
this.$message.warning('请上传图片'); // this.$message.warning('');
return false; // return false;
} // }
//TODO // //TODO
}, // },
handleChange (info) { // handleChange (info) {
this.picUrl = ""; // this.picUrl = "";
if (info.file.status === 'uploading') { // if (info.file.status === 'uploading') {
this.uploadLoading = true; // this.uploadLoading = true;
return // return
} // }
if (info.file.status === 'done') { // if (info.file.status === 'done') {
var response = info.file.response; // var response = info.file.response;
this.uploadLoading = false; // this.uploadLoading = false;
console.log(response); // console.log(response);
if(response.success){ // if(response.success){
this.model.avatar = response.message; // this.model.avatar = response.message;
this.picUrl = "Has no pic url yet"; // this.picUrl = "Has no pic url yet";
}else{ // }else{
this.$message.warning(response.message); // this.$message.warning(response.message);
} // }
} // }
}, // },
// API // API
onSearch(){ onSearch(){
this.$refs.departWindow.add(this.checkedDepartKeys,this.userId); this.$refs.departWindow.add(this.checkedDepartKeys,this.userId);

Loading…
Cancel
Save