Browse Source

2024-1-15 客户项目

master
zelian_wu 2 years ago
parent
commit
bfd14f12b0
  1. 184
      src/views/modules/customer/customerInformationManagement.vue
  2. 16
      src/views/modules/project/projectInfo/com_projectInfo-add-or-update.vue
  3. 12
      src/views/modules/sys/dict-data.vue
  4. 4
      src/views/modules/sys/dict.vue

184
src/views/modules/customer/customerInformationManagement.vue

@ -310,92 +310,78 @@
</el-footer>
</el-dialog>
<!-- 客户项目信息模态框 -->
<el-dialog :title="projectInformationModalData.title" :close-on-click-modal="false" v-drag :visible.sync="projectInformationModalFlag" width="600px">
<el-form :inline="true" label-position="top" :model="projectInformationModalData" :rules="projectInformationRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'项目层级'">
<el-select v-model="projectInformationModalData.projectLevel" :readonly="projectInformationDetailModalFlag" style="width: 130px">
<el-option label="一级" value=1></el-option>
<el-option label="二级" value=2></el-option>
<el-option label="三级" value=3></el-option>
</el-select>
</el-form-item>
<el-form-item :label="'项目号'">
<el-input v-model="projectInformationModalData.projectId" :readonly="projectInformationDetailModalFlag" style="width: 130px"></el-input>
</el-form-item>
<el-form-item prop="projectType" :rules="projectInformationRules.projectType">
<span v-if="projectInformationModalData.flag === '3'" slot="label"><a herf="#">项目类型</a></span>
<span v-if="projectInformationModalData.flag !== '3'" slot="label" @click="getBaseList(1010,1)"><a herf="#">项目类型</a></span>
<el-input v-if="projectInformationModalData.flag === '3'" v-model="projectInformationModalData.projectType" readonly style="width: 130px"></el-input>
<el-input v-if="projectInformationModalData.flag !== '3'" v-model="projectInformationModalData.projectType" @focus="getBaseList(1010,1)" readonly style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="'所属客户'">
<el-input v-model="projectInformationModalData.customerName" disabled style="width: 130px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="projectInformationModalData" :rules="projectInformationRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'项目名称'" prop="projectName" :rules="projectInformationRules.projectName">
<el-input v-model="projectInformationModalData.projectName" :readonly="projectInformationDetailModalFlag" style="width: 562px" ></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="projectInformationModalData" :rules="projectInformationRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'项目描述'">
<el-input v-model="projectInformationModalData.projectDesc" :readonly="projectInformationDetailModalFlag" style="width: 562px" ></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="projectInformationModalData" :rules="projectInformationRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item prop="projectSourceDesc" :rules="projectInformationRules.projectSourceDesc">
<span slot="label" v-if="projectInformationModalData.flag === '3'"><a herf="#">项目来源</a></span>
<span slot="label" v-if="projectInformationModalData.flag !== '3'" @click="getBaseList(1011,1)"><a herf="#">项目来源</a></span>
<el-input v-if="projectInformationModalData.flag === '3'" v-model="projectInformationModalData.projectSourceDesc" readonly style="width: 130px"></el-input>
<el-input v-if="projectInformationModalData.flag !== '3'" v-model="projectInformationModalData.projectSourceDesc" readonly @focus="getBaseList(1011,1)" style="width: 130px"></el-input>
<el-dialog :title="projectInformationModalData.title" :close-on-click-modal="false" v-drag :visible.sync="projectInformationModalFlag" width="40%">
<el-form ref="saveForm" :model="projectInformationModalData" label-position="top" label-width="100px" :rules="projectInformationModalData">
<el-row :gutter="25">
<el-col :span="6">
<el-form-item label="项目号">
<el-input readonly v-model="projectInformationModalData.projectId" disabled ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="buDesc" :rules="projectInformationModalData.buDesc" label="BU">
<el-input v-model="projectInformationModalData.buDesc" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目名称" prop="projectName">
<el-input readonly v-model="projectInformationModalData.projectName" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="projectTypeDb" label="项目类型">
<dict-data-select disabled dict-type="project_info_type_db" v-if="projectInformationModalFlag" v-model="projectInformationModalData.projectTypeDb"></dict-data-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="projectSource" :rules="projectInformationModalData.projectSourceDesc" label="项目来源">
<dict-data-select disabled dict-type="project_info_source" v-if="projectInformationModalFlag" v-model="projectInformationModalData.projectSource"></dict-data-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="customerName" label="所属客户">
<el-input v-model="projectInformationModalData.customerName" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="priority" label="优先级">
<dict-data-select disabled dict-type="project_info_priority" v-if="projectInformationModalFlag" v-model="projectInformationModalData.priority"></dict-data-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="要求日期:" prop="needDate">
<el-date-picker
style="width: 100%"
readonly
v-model="projectInformationModalData.needDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="projectManagerName" :rules="projectInformationModalData.projectManagerName" label="项目经理">
<el-input v-model="projectInformationModalData.projectManagerName" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="projectOwnerName" :rules="projectInformationModalData.projectOwnerName" label="项目负责人">
<el-input v-model="projectInformationModalData.projectOwnerName" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="项目描述" style="height: 70px">
<el-input type="textarea" readonly resize="none" :autosize="{minRows: 2, maxRows: 2}" v-model="projectInformationModalData.projectDesc" ></el-input>
</el-form-item>
<el-form-item prop="priorityDesc" :rules="projectInformationRules.priorityDesc">
<span slot="label" v-if="projectInformationModalData.flag === '3'"><a herf="#">优先级</a></span>
<span slot="label" v-if="projectInformationModalData.flag !== '3'" @click="getBaseList(1012,1)"><a herf="#">优先级</a></span>
<el-input v-if="projectInformationModalData.flag === '3'" v-model="projectInformationModalData.priorityDesc" readonly style="width: 130px"></el-input>
<el-input v-if="projectInformationModalData.flag !== '3'" v-model="projectInformationModalData.priorityDesc" readonly @focus="getBaseList(1012,1)" style="width: 130px"></el-input>
<el-form-item label="客户应用/要求" style="height: 70px">
<el-input type="textarea" readonly resize="none" :autosize="{minRows: 2, maxRows: 2}" v-model="projectInformationModalData.customerRemark" ></el-input>
</el-form-item>
<el-form-item :label="'要求日期'" prop="needDate" :rules="projectInformationRules.needDate">
<el-date-picker
style="width: 130px"
v-model="projectInformationModalData.needDate"
:readonly="projectInformationDetailModalFlag"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
<el-form-item label="其他要求" style="height: 70px">
<el-input type="textarea" readonly resize="none" :autosize="{minRows: 2, maxRows: 2}" v-model="projectInformationModalData.remark" ></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="projectInformationModalData" :rules="projectInformationRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item prop="projectManagerName" :rules="projectInformationRules.projectManagerName">
<span slot="label" v-if="projectInformationModalData.flag === '3'"><a herf="#">项目经理</a></span>
<span slot="label" v-if="projectInformationModalData.flag !== '3'" @click="managerChooseModal()"><a herf="#">项目经理</a></span>
<el-input v-if="projectInformationModalData.flag === '3'" v-model="projectInformationModalData.projectManagerName" readonly style="width: 274px"></el-input>
<el-input v-if="projectInformationModalData.flag !== '3'" v-model="projectInformationModalData.projectManagerName" readonly style="width: 274px" @focus="managerChooseModal()"></el-input>
</el-form-item>
<el-form-item prop="projectOwnerName" :rules="projectInformationRules.projectOwnerName">
<span slot="label" v-if="projectInformationModalData.flag === '3'"><a herf="#">项目负责人</a></span>
<span slot="label" v-if="projectInformationModalData.flag !== '3'" @click="ownerChooseModal()"><a herf="#">项目负责人</a></span>
<el-input v-if="projectInformationModalData.flag === '3'" v-model="projectInformationModalData.projectOwnerName" readonly style="width: 274px"></el-input>
<el-input v-if="projectInformationModalData.flag !== '3'" v-model="projectInformationModalData.projectOwnerName" readonly @focus="ownerChooseModal()" style="width: 274px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="projectInformationModalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'客户应用/要求'">
<el-input v-model="projectInformationModalData.customerRemark" :readonly="projectInformationDetailModalFlag" style="width: 562px" ></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="projectInformationModalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'其他要求'">
<el-input v-model="projectInformationModalData.remark" :readonly="projectInformationDetailModalFlag" style="width: 562px" ></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="projectInformationModalData" :rules="projectInformationRules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item prop="userRoleName" :rules="projectInformationRules.userRoleName">
<span slot="label" v-if="projectInformationModalData.flag === '3'"><a herf="#">项目权限</a></span>
<span slot="label" v-if="projectInformationModalData.flag !== '3'" @click="userRollModal()"><a herf="#">项目权限</a></span>
<el-input v-if="projectInformationModalData.flag === '3'" v-model="projectInformationModalData.userRoleName" readonly style="width: 562px"></el-input>
<el-input v-if="projectInformationModalData.flag !== '3'" v-model="projectInformationModalData.userRoleName" readonly @focus="userRollModal()" style="width: 562px"></el-input>
<el-form-item prop="userRoleName" :rules="projectInformationRules.userRoleName" label="项目权限">
<el-input readonly v-model="projectInformationModalData.userRoleName"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
@ -696,7 +682,7 @@
</div>
</span>
</el-dialog>
<add-or-update v-if="addOrUpdateVisible" v-model="addOrUpdate" ref="addOrUpdate" @refreshDataList="getDataList" v-drag></add-or-update>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
</div>
</template>
@ -734,11 +720,15 @@
} from "@/api/project/project.js"
import Chooselist from '@/views/modules/common/Chooselist'
import DictDataSelect from '../sys/dict-data-select.vue'
import saveOrUpdate from '../project/projectInfo/com_projectInfo-add-or-update.vue'
import partUploadFile from '../part/part_upload_file.vue'
import AddOrUpdate from "../project/projectInfo/com_projectInfo-add-or-update.vue";
export default {
components: {
AddOrUpdate,
DictDataSelect,
Chooselist
Chooselist,
saveOrUpdate
},
watch: {
searchData: {
@ -756,6 +746,10 @@
},
data () {
return {
//
addOrUpdateVisible:false,
// addOrUpdate
addOrUpdate:'0',
components: {
DictDataSelect,
Chooselist
@ -2168,7 +2162,13 @@
createBy: this.$store.state.user.name
}
this.projectInformationDetailModalFlag = false
this.projectInformationModalFlag = true
// this.projectInformationModalFlag = true
this.addOrUpdateVisible = true;
this.addOrUpdate = "save";
this.$nextTick(() => {
this.$refs.addOrUpdate.initCustomer(this.projectInformationModalData);
this.$refs.addOrUpdate.init();
})
},
// ======== ========
@ -2317,7 +2317,12 @@
this.projectInformationModalData.userRoleList = data.rows
})
this.projectInformationDetailModalFlag = false
this.projectInformationModalFlag = true
// this.projectInformationModalFlag = true
this.addOrUpdateVisible = true
this.addOrUpdate = "update";
this.$nextTick(() => {
this.$refs.addOrUpdate.init(row.id)
})
},
// ======== ========
@ -2409,7 +2414,6 @@
flag: '3',
title: '项目信息详情',
site: row.site,
projectLevel: row.projectLevel,
projectId: row.projectId,
projectType: row.projectType,
projectTypeDb: row.projectTypeDb,
@ -2427,7 +2431,9 @@
customerRemark: row.customerRemark,
remark: row.remark,
status: row.status,
userRoleName: row.userRoleName
userRoleName: row.userRoleName,
buNo:row.buNo,
buDesc:row.buDesc
}
this.projectInformationDetailModalFlag = true
this.projectInformationModalFlag = true

16
src/views/modules/project/projectInfo/com_projectInfo-add-or-update.vue

@ -37,7 +37,7 @@
<el-col :span="12">
<el-form-item prop="customerName">
<span slot="label" style="" @click="getBaseList(102,1)"><a herf="#">所属客户</a></span>
<el-input v-model="dataForm.customerName" readonly @focus="getBaseList(102,1)"></el-input>
<el-input v-model="dataForm.customerName" readonly @focus="getBaseList(102,1)"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
@ -454,6 +454,10 @@
},
init (id) {
this.dataForm.id = id || 0
let requestCustomer = null;
if (this.dataForm.customerId){
requestCustomer = JSON.parse(JSON.stringify(this.dataForm))
}
if(this.dataForm.id!=0){
let inData={
page: 1,
@ -523,6 +527,10 @@
this.dataForm.userRoleList=data.rows
})
}
if (requestCustomer){
this.initCustomer(requestCustomer)
}
this.visible = true
},
@ -672,6 +680,8 @@
dataFormSubmit () {
this.$refs.saveForm.validate((validate)=>{
if (validate){
this.dataForm.updateBy = this.$store.state.user.name
console.log(this.dataForm)
saveProjectInfo(this.dataForm).then(({data}) => {
if (data && data.code === 0) {
this.$message.success( '操作成功')
@ -751,6 +761,10 @@
updateDataForm(val){
this.dataForm.projectId = val;
},
initCustomer(row){
this.dataForm.customerId = row.customerId;
this.dataForm.customerName = row.customerName;
},
},
}
</script>

12
src/views/modules/sys/dict-data.vue

@ -288,18 +288,6 @@ export default {
</el-col>
<el-col :span="2">
<el-form-item label="状态">
<!-- <el-select v-model="searchData.status" clearable style="width: 100%" placeholder="请选择">-->
<!-- <el-option-->
<!-- key="Y"-->
<!-- label="启用"-->
<!-- value="Y">-->
<!-- </el-option>-->
<!-- <el-option-->
<!-- key="N"-->
<!-- label="停用"-->
<!-- value="N">-->
<!-- </el-option>-->
<!-- </el-select>-->
<dict-data-select v-model="searchData.status" clearable dict-type="sys_status" :use-default-value="false"></dict-data-select>
</el-form-item>
</el-col>

4
src/views/modules/sys/dict.vue

@ -260,8 +260,8 @@ export default {
style="width: 100%">
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"/>
<el-table-column type="index" width="80" header-align="center" label="字典序号" align="right"/>
<el-table-column prop="dictName" header-align="center" label="字典名称"/>
<el-table-column prop="dictType" header-align="center" align="center" label="字典类型">
<el-table-column prop="dictName" header-align="center" label="字典名称" show-overflow-tooltip/>
<el-table-column prop="dictType" header-align="center" align="left" label="字典类型" show-overflow-tooltip>
<template slot-scope="{row,$index}">
<el-link style="cursor: pointer" @click="clickDictType(row.dictType)">{{row.dictType}}</el-link>
</template>

Loading…
Cancel
Save