|
@@ -450,7 +450,10 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <div class="note-form-area">
|
|
|
|
|
|
+ <div
|
|
|
|
+ v-if="userInfo.Organization !== 'PrimePac'"
|
|
|
|
+ class="note-form-area"
|
|
|
|
+ >
|
|
<div class="sub-form-title">注意事项:</div>
|
|
<div class="sub-form-title">注意事项:</div>
|
|
<el-form-item label="印刷质量:">
|
|
<el-form-item label="印刷质量:">
|
|
<el-input
|
|
<el-input
|
|
@@ -577,6 +580,20 @@
|
|
v-html="typeof item === 'object' ? item.value : item"
|
|
v-html="typeof item === 'object' ? item.value : item"
|
|
></div>
|
|
></div>
|
|
|
|
|
|
|
|
+ <template
|
|
|
|
+ v-if="['PrimePacCommon', 'PrimePacSoft'].includes(currentCompany)"
|
|
|
|
+ >
|
|
|
|
+ <div class="sub-form-title">附录</div>
|
|
|
|
+
|
|
|
|
+ <div
|
|
|
|
+ v-for="(item, index) in appendixData"
|
|
|
|
+ :key="index"
|
|
|
|
+ class="rule-item"
|
|
|
|
+ :class="[{ sub: typeof item === 'object' }]"
|
|
|
|
+ v-html="typeof item === 'object' ? item.value : item"
|
|
|
|
+ ></div>
|
|
|
|
+ </template>
|
|
|
|
+
|
|
<div
|
|
<div
|
|
v-if="currentCompany === 'PrimePacCommon'"
|
|
v-if="currentCompany === 'PrimePacCommon'"
|
|
class="flex stretch PrimePac-table"
|
|
class="flex stretch PrimePac-table"
|
|
@@ -856,7 +873,10 @@
|
|
|
|
|
|
<!-- <br /> -->
|
|
<!-- <br /> -->
|
|
<div class="flex between start">
|
|
<div class="flex between start">
|
|
- <div class="note-form-area">
|
|
|
|
|
|
+ <div
|
|
|
|
+ v-if="userInfo.Organization !== 'PrimePac'"
|
|
|
|
+ class="note-form-area"
|
|
|
|
+ >
|
|
<div class="sub-form-title">注意事项:</div>
|
|
<div class="sub-form-title">注意事项:</div>
|
|
<div class="">
|
|
<div class="">
|
|
<div class="label">印刷质量:</div>
|
|
<div class="label">印刷质量:</div>
|
|
@@ -875,6 +895,7 @@
|
|
<div class="value">{{ form.field11 }}</div>
|
|
<div class="value">{{ form.field11 }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div v-else></div>
|
|
<div class="product-total-table">
|
|
<div class="product-total-table">
|
|
<div class="total-item flex">
|
|
<div class="total-item flex">
|
|
<div class="label">小计 </div>
|
|
<div class="label">小计 </div>
|
|
@@ -944,6 +965,20 @@
|
|
v-html="typeof item === 'object' ? item.value : item"
|
|
v-html="typeof item === 'object' ? item.value : item"
|
|
></div>
|
|
></div>
|
|
|
|
|
|
|
|
+ <template
|
|
|
|
+ v-if="['PrimePacCommon', 'PrimePacSoft'].includes(currentCompany)"
|
|
|
|
+ >
|
|
|
|
+ <div class="sub-form-title">附录</div>
|
|
|
|
+
|
|
|
|
+ <div
|
|
|
|
+ v-for="(item, index) in appendixData"
|
|
|
|
+ :key="index"
|
|
|
|
+ class="rule-item"
|
|
|
|
+ :class="[{ sub: typeof item === 'object' }]"
|
|
|
|
+ v-html="typeof item === 'object' ? item.value : item"
|
|
|
|
+ ></div>
|
|
|
|
+ </template>
|
|
|
|
+
|
|
<div
|
|
<div
|
|
v-if="currentCompany === 'PrimePacCommon'"
|
|
v-if="currentCompany === 'PrimePacCommon'"
|
|
class="flex stretch PrimePac-table"
|
|
class="flex stretch PrimePac-table"
|
|
@@ -1014,33 +1049,48 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
<br />
|
|
<br />
|
|
<div class="signature-area">
|
|
<div class="signature-area">
|
|
<div class="company-seal"></div>
|
|
<div class="company-seal"></div>
|
|
- <div class="first-party">
|
|
|
|
- <div
|
|
|
|
- class="flex"
|
|
|
|
- style="align-items: flex-end"
|
|
|
|
- >
|
|
|
|
- <div v-show="!computedCompany.label.includes('Pangea')">
|
|
|
|
- 甲方(盖章):
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div
|
|
|
|
+ style="align-items: flex-end"
|
|
|
|
+ :class="{
|
|
|
|
+ flex: ['PrimePacCommon', 'PrimePacSoft'].includes(
|
|
|
|
+ currentCompany,
|
|
|
|
+ ),
|
|
|
|
+ between: ['PrimePacCommon', 'PrimePacSoft'].includes(
|
|
|
|
+ currentCompany,
|
|
|
|
+ ),
|
|
|
|
+ }"
|
|
|
|
+ >
|
|
|
|
+ <div class="first-party">
|
|
<div
|
|
<div
|
|
- class="sign-wrap"
|
|
|
|
- :class="{ pangea: computedCompany.label.includes('Pangea') }"
|
|
|
|
|
|
+ class="flex"
|
|
|
|
+ style="align-items: flex-end"
|
|
>
|
|
>
|
|
- <img
|
|
|
|
- v-if="computedCompany.signPath"
|
|
|
|
- :src="computedCompany.signPath"
|
|
|
|
- alt=""
|
|
|
|
- />
|
|
|
|
|
|
+ <div v-show="!computedCompany.label.includes('Pangea')">
|
|
|
|
+ 甲方(盖章):
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="sign-wrap"
|
|
|
|
+ :class="{
|
|
|
|
+ pangea: computedCompany.label.includes('Pangea'),
|
|
|
|
+ }"
|
|
|
|
+ >
|
|
|
|
+ <img
|
|
|
|
+ v-if="computedCompany.signPath"
|
|
|
|
+ :src="computedCompany.signPath"
|
|
|
|
+ alt=""
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="">代表人: {{ userInfo.full_name }}</div>
|
|
|
|
+ <div class="">日期: {{ form.PO_Date }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="second-party">
|
|
|
|
+ <div class="">乙方(盖章):</div>
|
|
</div>
|
|
</div>
|
|
- <div class="">代表人: {{ userInfo.full_name }}</div>
|
|
|
|
- <div class="">日期: {{ form.PO_Date }}</div>
|
|
|
|
- </div>
|
|
|
|
- <div class="second-party">
|
|
|
|
- <div class="">乙方(盖章):</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -1945,8 +1995,7 @@ watch(computedVendor, () => {
|
|
const vendorLoading = ref(false)
|
|
const vendorLoading = ref(false)
|
|
const getSupplierLists = function (string: string) {
|
|
const getSupplierLists = function (string: string) {
|
|
return new Promise((resolve, reject) => {
|
|
return new Promise((resolve, reject) => {
|
|
- // 这个处理是为了兼容下拉框的实时防抖搜索 和 ((点击推荐供应商)快速勾选 的搜索)
|
|
|
|
- const keyword = string.trim() || form.value.currentVendor?.trim() || ''
|
|
|
|
|
|
+ const keyword = string.trim() || ''
|
|
if (!keyword.length) {
|
|
if (!keyword.length) {
|
|
reject('false')
|
|
reject('false')
|
|
return
|
|
return
|
|
@@ -1959,7 +2008,7 @@ const getSupplierLists = function (string: string) {
|
|
page: 1,
|
|
page: 1,
|
|
limit: 100,
|
|
limit: 100,
|
|
}
|
|
}
|
|
- console.log('get supp run')
|
|
|
|
|
|
+
|
|
vendorLoading.value = true
|
|
vendorLoading.value = true
|
|
getSearchData(data)
|
|
getSearchData(data)
|
|
.then((response) => {
|
|
.then((response) => {
|
|
@@ -2165,19 +2214,21 @@ const serviceRule = ref<TypeService>({
|
|
'2. 乙方若预计交货时间将出现延误,应立刻通知甲方,与甲方另行约定发货时间并得到甲方确认。如乙方无法确定时间或再度延期,并未告知甲方合理延期原因,甲方有权要求乙方承当相应的违约责任并赔偿甲方相应损失。',
|
|
'2. 乙方若预计交货时间将出现延误,应立刻通知甲方,与甲方另行约定发货时间并得到甲方确认。如乙方无法确定时间或再度延期,并未告知甲方合理延期原因,甲方有权要求乙方承当相应的违约责任并赔偿甲方相应损失。',
|
|
},
|
|
},
|
|
'十一、凡因执行本合同所发生的或与本合同有关的一切争议,如经友好协商不能解决时,交由广州当地法院进行判决。',
|
|
'十一、凡因执行本合同所发生的或与本合同有关的一切争议,如经友好协商不能解决时,交由广州当地法院进行判决。',
|
|
- '附录:',
|
|
|
|
- '产品制作要求及质量检验标准:',
|
|
|
|
- {
|
|
|
|
- value:
|
|
|
|
- '1、乙方必须严格按甲方要求或产品销售国家/产品出口国最新的相关国家、行业标准对产品质量进行监控和检验。如在现场检验中发现乙方提供的产品不符合合同约定或与样板不符,乙方应在甲方要求的期限内补足、更换。补足、更换后的产品应符合合同要求。',
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- value:
|
|
|
|
- '2、出货前甲方对合同项下产品按GB/T2828.1—2012抽样方法进行抽检,采用Ⅱ级检验水准,AQL值为:严重质量缺陷=1.0,重要质量缺陷=2.5,轻微质量缺陷=4.0 作为标准, 若检验不合格,甲方有权拒收整批货品。乙方应及时采取有效的措施补救,确保合同项下产品在合同交货期内按质、按量交货。如发生延误,则按本合同第七条的约定处理。',
|
|
|
|
- },
|
|
|
|
],
|
|
],
|
|
PrimePacSoft: [], // 跟 PrimePacCommon 完全相同
|
|
PrimePacSoft: [], // 跟 PrimePacCommon 完全相同
|
|
})
|
|
})
|
|
|
|
+
|
|
|
|
+const appendixData: any[] = [
|
|
|
|
+ '产品制作要求及质量检验标准:',
|
|
|
|
+ {
|
|
|
|
+ value:
|
|
|
|
+ '1、乙方必须严格按甲方要求或产品销售国家/产品出口国最新的相关国家、行业标准对产品质量进行监控和检验。如在现场检验中发现乙方提供的产品不符合合同约定或与样板不符,乙方应在甲方要求的期限内补足、更换。补足、更换后的产品应符合合同要求。',
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value:
|
|
|
|
+ '2、出货前甲方对合同项下产品按GB/T2828.1—2012抽样方法进行抽检,采用Ⅱ级检验水准,AQL值为:严重质量缺陷=1.0,重要质量缺陷=2.5,轻微质量缺陷=4.0 作为标准, 若检验不合格,甲方有权拒收整批货品。乙方应及时采取有效的措施补救,确保合同项下产品在合同交货期内按质、按量交货。如发生延误,则按本合同第七条的约定处理。',
|
|
|
|
+ },
|
|
|
|
+]
|
|
const currentServiceRule = computed(() => {
|
|
const currentServiceRule = computed(() => {
|
|
if (currentCompany.value === 'PrimePacSoft') {
|
|
if (currentCompany.value === 'PrimePacSoft') {
|
|
return serviceRule.value['PrimePacCommon']
|
|
return serviceRule.value['PrimePacCommon']
|
|
@@ -2881,10 +2932,13 @@ input[type='number'] {
|
|
}
|
|
}
|
|
.signature-area {
|
|
.signature-area {
|
|
color: $subColor;
|
|
color: $subColor;
|
|
|
|
+ // padding-bottom: 40pt;
|
|
.first-party {
|
|
.first-party {
|
|
padding: 30pt 0 0;
|
|
padding: 30pt 0 0;
|
|
}
|
|
}
|
|
.second-party {
|
|
.second-party {
|
|
|
|
+ min-width: 41%;
|
|
|
|
+ // height: 86pt;
|
|
padding: 20pt 0 40pt;
|
|
padding: 20pt 0 40pt;
|
|
}
|
|
}
|
|
}
|
|
}
|