gaoshp
2024-11-05 e2fdfe540eaf160dc7d063c60667041edcc64e86
src/views/console/workstation/Dialog.vue
@@ -41,13 +41,33 @@
                        <scUpload v-model="form.avatar" title="工位图片"></scUpload>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                <el-col :span="12" v-show="!form.id">
                    <el-form-item label="生产日历" prop="calendarCode">
                        <el-select v-model="form.calendarCode" style="width: 240px">
                            <el-option v-for="item in options.calendarList" :key="item.id" :label="item.name"
                                :value="item.id" />
                                :value="item.code" />
                        </el-select>
                    </el-form-item>
                </el-col>
                <!-- 修改的次日生效 -->
                <el-col :span="11" v-show="form.id">
                    <el-form-item label="生产日历" prop="calendarCode">
                        <el-select v-model="form.calendarCodeWaiting" style="width: 240px">
                            <el-option v-for="item in options.calendarList" :key="item.id" :label="item.name"
                                :value="item.code" />
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="1" v-show="form.id">
                    <div style="display: flex;align-items: center;height: 32px;margin-bottom: 18px;">
                        <el-tooltip class="box-item" effect="dark" content="修改后的日历次日生效" placement="top-start">
                            <el-icon>
                                <el-icon-warning-filled style="vertical-align: middle" />
                            </el-icon>
                        </el-tooltip>
                    </div>
                </el-col>
                <el-col :span="24" style="padding:12px 0;" v-if="form.type == 0">
                    机器信息
@@ -68,7 +88,8 @@
                            filterable>
                            <el-option v-for="item in options.listnoband" :key="item.id" :label="item.machineName"
                                :value="item.id">
                                {{ `${item?.machineCode}-${item?.machineName}-${item?.brand}` }}</el-option>
                                {{ `${item?.machineCode}-${item?.machineName}${item?.brand ? '-' + item.brand : ''}`
                                }}</el-option>
                        </el-select>
                        <el-input v-if="form.id" :disabled="form.id" v-model="form.machineName"></el-input>
                    </el-form-item>
@@ -88,11 +109,11 @@
                    <el-form-item label="加工属性" prop="properties">
                        <el-select v-model="form.properties" style="width: 240px">
                            <el-option v-for="item in options.machining_type" :key="item.dictKey"
                                :label="item.dictValue" :value="item.dictKey" />
                                :label="item.dictValue" :value="item.dictKey - 0" />
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                <!-- <el-col :span="12">
                    <el-form-item label="程序传输方式" prop="transmissionMethod">
                        <el-select v-model="form.transmissionMethod" style="width: 240px">
                            <el-option label="FTP" :value="1" />
@@ -107,7 +128,7 @@
                                :value="item.value" />
                        </el-select>
                    </el-form-item>
                </el-col>
                </el-col> -->
                <el-col :span="12" v-if="form.ftpDirectoryType == 1">
                    <el-form-item label="关联目录" prop="directoryId">
                        <el-select v-model="form.directoryId" style="width: 240px">
@@ -116,10 +137,7 @@
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="4">
                    <!-- <el-form-item label="工作台" prop="workbenchVOList"> -->
                    <!-- </el-form-item> -->
                <!-- <el-col :span="4">
                    <span>工作台</span>
                </el-col>
@@ -131,13 +149,16 @@
                        </li>
                    </ul>
                    <el-button style="margin-left: 50px;margin-top: 8px" @click="addWork">添加工作台</el-button>
                </el-col>
                </el-col> -->
                <el-col :span="12">
                    <el-form-item label="数据权限" prop="createDept">
                        <el-tree-select clearable @node-click="nodeClickTree" v-model="form.createDept" :data="tree"
                    <el-form-item label="所属部门" prop="createDept">
                        <el-tree-select :props="{
                            label: 'title',
                            id: 'id',
                        }" clearable @node-click="nodeClickTree" v-model="form.createDept" :data="tree"
                            :check-on-click-node="true" style="width: 240px">
                            <template #default="{ data: { title } }">
                                {{ title }}</template>
                            <!-- <template #default="{ data: { title } }">
                                {{ title }}</template> -->
                        </el-tree-select>
                    </el-form-item>
                </el-col>
@@ -198,6 +219,7 @@
                status: '',
                avatar: '',
                calendarCode: '',
                calendarCodeWaiting: '',
                linkWay: '',
                machineId: '',
                machineCode: '',
@@ -301,15 +323,17 @@
                Object.keys(this.form).forEach(key => {
                    this.form[key] = params[key]
                })
                this.$HTTP.get(`/api/blade-cps/workstation/get?workstationId=${params.id}`).then(res => {
                this.$HTTP.get(`/api/smis/workstation/get?workstationId=${params.id}`).then(res => {
                    this.form = res?.data
                    this.$HTTP.get(`/api/blade-cps/workstation-workbench/listWorkbench?workstationId=${params.id}`).then(res => {
                    if (this.form.calendarCode && !this.form.calendarCodeWaiting) this.form.calendarCodeWaiting = this.form.calendarCode
                    this.$HTTP.get(`/api/smis/workstation-workbench/listWorkbench?workstationId=${params.id}`).then(res => {
                        this.form.workbenchVOList = res?.data?.workstationList || []
                    })
                })
            } else {
                this.form.id = ''
                this.form.workbenchVOList = res?.data?.workstationList || []
                this.form.workbenchVOList = []
                Object.keys(this.form).forEach(key => {
                    this.form[key] = ''
                })
@@ -318,10 +342,22 @@
        },
        //表单提交方法
        submit() {
            if (!this.form.workbenchVOList) {
                this.form.workbenchVOList = []
            }
            if (this.mode === 'add' && this.form.linkWay === 1) {
                this.form.machineId
                this.form.machineCode = this.form.code
                this.form.machineName = this.form.name
            }
            this.$refs.dialogForm.validate(async (valid) => {
                if (valid) {
                    this.isSaveing = true;
                    var res = await this.$API.workstation.add.post(this.form);
                    try {
                        var res = await this.$API.workstation.add.post(this.form);
                    } catch (error) {
                        this.isSaveing = false;
                    }
                    this.isSaveing = false;
                    if (res.code == 200) {
                        this.$emit('success', this.form, this.mode)